<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// +----------------------------------------------------------------------
// | 应用设置
// +----------------------------------------------------------------------
error_reporting(E_ALL ^ E_NOTICE);

$root_namespace = [];
$public_url     = $upload_path = $static_path = $dispatch_success_tmpl = $dispatch_error_tmpl = $exception_tmpl = '';
if (defined('ROOT_PATH')) {
	$root_namespace = ['addons' => ROOT_PATH . 'addons/'];
	$public_url     = ROOT_URL . (defined('IF_PUBLIC') ? '' : 'public/');
	$upload_path    = ROOT_PATH . 'public' . DIRECTORY_SEPARATOR . 'uploads';
	$static_path    = ROOT_PATH . 'public' . DIRECTORY_SEPARATOR . 'static';
}
if (defined('APP_PATH')) {
	$root_namespace        = ['addons' => ROOT_PATH . 'addons/'];
	$dispatch_success_tmpl = APP_PATH . 'common' . DIRECTORY_SEPARATOR . 'view' . DIRECTORY_SEPARATOR . 'dispatch_jump.tpl';
	$dispatch_error_tmpl   = APP_PATH . 'common' . DIRECTORY_SEPARATOR . 'view' . DIRECTORY_SEPARATOR . 'dispatch_jump.tpl';
	$exception_tmpl        = APP_PATH . 'common' . DIRECTORY_SEPARATOR . 'view' . DIRECTORY_SEPARATOR . 'think_exception.tpl';
}
$host = request()->host();

return [
	// 应用名称
	'app_name'               => '',
	// 应用地址
	'app_host'               => '',
	// 应用调试模式
	'app_debug'              => true,
	// 应用Trace
	'app_trace'              => true,
	// 应用模式状态
	'app_status'             => '',
	// 是否支持多模块
	'app_multi_module'       => true,
	// 入口自动绑定模块
	'auto_bind_module'       => false,
	// 注册的根命名空间
	'root_namespace'         => $root_namespace,
	// 默认输出类型
	'default_return_type'    => 'html',
	// 默认AJAX 数据返回格式,可选json xml ...
	'default_ajax_return'    => 'json',
	// 默认JSONP格式返回的处理方法
	'default_jsonp_handler'  => 'jsonpReturn',
	// 默认JSONP处理方法
	'var_jsonp_handler'      => 'callback',
	// 默认时区
	'default_timezone'       => 'PRC',
	// 是否开启多语言
	'lang_switch_on'         => false,
	// 默认全局过滤方法 用逗号分隔多个
	'default_filter'         => '',
	// 默认语言
	'default_lang'           => 'zh-cn',
	// 应用类库后缀
	'class_suffix'           => false,
	// 控制器类后缀
	'controller_suffix'      => false,

	// +----------------------------------------------------------------------
	// | 模块设置
	// +----------------------------------------------------------------------

	// 默认模块名
	'default_module'         => 'index',
	// 禁止访问模块
	'deny_module_list'       => ['common'],
	// 默认控制器名
	'default_controller'     => 'Index',
	// 默认操作名
	'default_action'         => 'index',
	// 默认验证器
	'default_validate'       => '',
	// 默认的空模块名
	'empty_module'           => 'error',
	// 默认的空控制器名
	'empty_controller'       => 'Error',
	// 操作方法前缀
	'use_action_prefix'      => false,
	// 操作方法后缀
	'action_suffix'          => '',
	// 自动搜索控制器
	'controller_auto_search' => false,

	// +----------------------------------------------------------------------
	// | URL设置
	// +----------------------------------------------------------------------

	// PATHINFO变量名 用于兼容模式
	'var_pathinfo'           => 's',
	// 兼容PATH_INFO获取
	'pathinfo_fetch'         => ['ORIG_PATH_INFO', 'REDIRECT_PATH_INFO', 'REDIRECT_URL'],
	// pathinfo分隔符
	'pathinfo_depr'          => '/',
	// HTTPS代理标识
	'https_agent_name'       => '',
	// URL伪静态后缀
	'url_html_suffix'        => 'html',
	// URL普通方式参数 用于自动生成
	'url_common_param'       => false,
	// URL参数方式 0 按名称成对解析 1 按顺序解析
	'url_param_type'         => 0,
	// 是否开启路由延迟解析
	'url_lazy_route'         => true,
	// 是否强制使用路由
	'url_route_must'         => false,
	// 路由是否完全匹配
	'route_complete_match'   => true,
	// 使用注解路由
	'route_annotation'       => false,
	// 域名根，如thinkphp.cn
	'url_domain_root'        => '',
	// 是否自动转换URL中的控制器和操作名
	'url_convert'            => true,
	// 默认的访问控制器层
	'url_controller_layer'   => 'controller',
	// 表单请求类型伪装变量
	'var_method'             => '_method',
	// 表单ajax伪装变量
	'var_ajax'               => '_ajax',
	// 表单pjax伪装变量
	'var_pjax'               => '_pjax',
	// 是否开启请求缓存 true自动缓存 支持设置请求缓存规则
	'request_cache'          => false,
	// 请求缓存有效期
	'request_cache_expire'   => null,
	// 全局请求缓存排除规则
	'request_cache_except'   => [],

	// 默认跳转页面对应的模板文件
	'dispatch_success_tmpl'  => $dispatch_success_tmpl,
	'dispatch_error_tmpl'    => $dispatch_error_tmpl,
	// 异常页面的模板文件
	'exception_tmpl'         => $exception_tmpl,

	// 错误显示信息,非调试模式有效
	'error_message'          => '页面错误！请稍后再试～',
	// 显示错误信息
	'show_error_msg'         => false,
	// 异常处理handle类 留空使用 \think\exception\Handle
	'exception_handle'       => '',

	//公开路径
	'public_url'             => $public_url,
	// 文件上传文件路径
	'upload_path'            => $upload_path,
	// 资源文件路径
	'static_path'            => $static_path,

	'redis'            => [
		'host'     => env('REDIS_HOST', '127.0.0.1'),
		'port'     => env('REDIS_PORT', 6379),
		'password' => env('REDIS_PASSWORD', ''),
		'db'       => env('REDIS_DB', 0),
	],
	'redis_keys'       => [
		'user_auth'      => 'admin_user_auth_' . $host,
		'user_auth_sign' => 'admin_user_auth_sign_' . $host,
		'users_count'    => 'users_count_' . $host,
		'orders_count'   => 'orders_count_' . $host,
		'days'           => 'days_' . $host,
		'two_week'       => 'two_week_' . $host,
		'menu'           => 'menu_' . $host,
		'sys_auth'       => 'sys_auth_' . $host,
	],
	'use_https'        => env('USE_HTTPS', false),
	// upload_driver 可能被覆盖设置了，不能用
	'upload_driver_v2' => [
		'key'   => 'tencent',
		'value' => '腾讯云',
	],
	'tencent'          => [
		'domain' => env('TENCENT_DOMAIN'),
	],
	'aggregation'      => [
		'api_key' => env('AGGREGATION_API_KEY'),
		'domain'  => env('AGGREGATION_DOMAIN'),
	],
];
